[c语言]比较char字母,这样行不行呢

来源:百度知道 编辑:UC知道 时间:2024/05/30 18:01:57
原文 assert((int)testSquare->data == 'a');
data是 char
这样行不行呢
还是说转成string然后用 strncmp?但是我的data不是char*
我只知道这两个方法,求大侠说个简单正确地方法
assert((int)(testSquare->data) == 'a');
我这样加个括号就没问题了吧?

assert((int)testSquare->data == 'a')这样写没错。->的运算级高于类型转换,所以加不加括号是一样的。

其实既然data是char类型的,直接写写成assert(testSquare->data == 'a')就可以了。因为'a'也是char类型的。

(int)testSquare->data == 'a'
这里面的怎么断句?

这样可以的。

(int)是画蛇添足,去掉就可以了